/**
 * 
 */
package it.unisalento.appsalento.activity.fragment;

import it.unisalento.appsalento.activity.App;
import it.unisalento.appsalento.exception.ParameterException;
import android.app.Fragment;
import it.unisalento.R;

/**
 * @author alberto
 *
 */
public class FragmentSessionFactory {

	/**
	 * Metodo che si occupa di effettuare lo switch sul testo del menu e recuperare il fragment da associare
	 * @param textMenuItem test della voce del NavigationDrawer a cui associare il Fragment
	 * @return Fragment da visualizzare
	 * @throws ParameterException 
	 */
	public static Fragment getFragmentById(String textMenuItem) throws ParameterException{
		
		Fragment fragment = null;
		if(App.getAppContext() == null){
			throw new ParameterException("ApplocationContext NULL ");
		}
		if("".equals(textMenuItem) || textMenuItem == null){
			throw new ParameterException("Nessuna voce di Menu selezionata ");
		}
		if(App.getAppContext().getResources().getText(R.string.action_news).equals(textMenuItem)){
			if (App.homeFragment==null){
				App.homeFragment = new HomeFragment();
			}
			fragment = App.homeFragment;
		}else if(App.getAppContext().getResources().getText(R.string.action_appelli).equals(textMenuItem)){
			if (App.calendarioFragment==null){
				App.calendarioFragment = new CalendarioFragment();
			}
			fragment = App.calendarioFragment;
		}else if(App.getAppContext().getResources().getText(R.string.action_libretto).equals(textMenuItem)){
			if (App.librettoFragment==null){
				App.librettoFragment = new LibrettoFragment();
			}
			fragment = App.librettoFragment;
		}else if(App.getAppContext().getResources().getText(R.string.action_risultati).equals(textMenuItem)){
			if (App.risultatiFragment==null){
				App.risultatiFragment = new RisultatiFragment();
			}
			fragment = App.risultatiFragment;
		}else{
			if (App.homeFragment==null){
				App.homeFragment = new HomeFragment();
			}
			fragment = App.homeFragment;
		}
		
		return fragment;
	}
}
